# create
## ()创建
a = (1, 2, 3)
b = 5, 6, 7
c =(100,)
print(a, b, c)
## tuple创建
aa = tuple()
bb = tuple(range(33))
cc = tuple([1, 2, 3])
print(aa, bb, cc)

## 推导式
### 与list不同点，默认是生成器类型; tuple/list函数来提取数据，只提取一次数据后，生成器的特性
d = (x*2 for x in range(5))
e = (x*2 for x in range(100) if x % 9 == 0)

print(d)
print(tuple(d))
print(tuple(d))
print(e.__next__(), e.__next__(), e.__next__())
print(tuple(e))
# .count(item) .index() 切片操作与list相同

# zip操作，将多个列表或无组组成一个新的多元元组

a = (1, 2, 3)
b = [5, 6, 7]
c = (11, 8, 14)
d = zip(a,b,c)
print(d)
print(list(d))

# 总结
'''
元组的查询和访问速度快
元组不能改变
元组可以做为字典的键，而列表不行
'''